// Contains all the methods to control the GUI control panel
#ifndef CONTROL_H
#define CONTROL_H

#include <windows.h>
#include "optimisations.h"

#define CLASSNAMEPREFIX "UnofficialPov36"
#define BMP_STRETCHDIBITS               7124

//scroll bar values
extern int scrollLim;

//all the windows and buttons that need to be visible by pvengine
extern HWND right_window;
extern HWND preview_window;
extern HWND view_value;
extern HWND focus_value;
extern HWND direction_value;
extern HWND angle_value;
extern HWND quality_value;
extern HWND average_value;
extern HWND workinglabel;
extern HWND displaylabel;
extern HWND compare_value;

//global variables
extern int	controlpanelwidth;

//string definitions that need to be visible by pvengine
extern char PovRightWinClass[];

//the public methods
int registercontrol(HINSTANCE,HICON);
bool createItems(HINSTANCE);
void resetScroll();
void setScroll(int,int,int);
void setScrollX(int);
void setScrollY(int);
void setScrollZ(int);
void repaintAll();
void repaint(HWND);
void repaintImage();

#endif